home *** CD-ROM | disk | FTP | other *** search
- SHOW FONT_com
- PRG formatted GEOS file V1.0
- StarNX-1000C
- OP V3.0 or higherNFO
- SYSTEM INFO_com
- BLASTER'S CONVERTER V2.5
- SID-DEMO 5_com
- 0"READ-ME FIRST
- Write Image V2.0
- geoWrite V2.1
- ` Quelltext zur geoCOM-Demodiskette `
- ` (c)94 BY DENIS D\HLER/FALK REHWAGEN`
- ` Die Demodiskette kann kostenlos angefordert `
- ` werden bei: `
- ` GUSS, Denis D|hler , Gorkistr.18 , 04347 Leipzig `
- CONST $4000,$4500:VAR $4500,$6000
- NAME"SHOW FONT"
- CLASS"ShowFont V1.4"
- AUTHOR"Falk Rehwagen"
- STARTFLAG $40
- BYTEVAR AT $84b3; selection
- BYTEVAR gr|~e,stil,wait1,wait2,char,y1,y2,num,sizenum
- ROW 6000 BYTEVAR fontpuf : ROW 256 BYTEVAR diskblk
- ROW 12 BYTEVAR gr|~en
- BYTEVAR AT $0402; ypos
- BYTEVAR AT $39; pressflag
- INTVAR z{hler,x1,x2
- STRVAR 16; name : STRVAR 5; string : STRVAR10;typ
- FILEVAR datei
- LABEL error,mausklick,cr,start,stil_rout,kreuz,stil_rout2,font,set_stil
- LABEL size_hoch,size_runter,show_size,taste,size_area,ende
- LABEL schleife,set_stil2,ende2
- CLS
- MOUSE ON
- PATTERN 0
- IF(scrflag==$80)THEN
- RECT 60,169,578,194 : FRAME 60,169,578,194
- SETPOS 156,179 : PRINT"/BShowFont Version 1.4/P - (W) 1992-94 Falk Rehwagen"
- SETPOS 134,190 : PRINT"D-04103 Leipzig, Wintergartenstra~e 2//107, Tel.: (0341) 284343"
- ELSE
- RECT 5,169,314,194 : FRAME 5,169,314,194
- SETPOS 36,179 : PRINT"/BShowFont Version 1.4/P - (W) 1992-94 Falk Rehwagen"
- SETPOS 27,190 : PRINT"D-04103 Leipzig, Wintergartenstra~e 2//107, Tel.: (0341) 284343"
- ENDIF
- @start
- OPENBOX name,8,"",0
- IF((dbstat<>2)AND(name<>""))THEN
- OPEN datei,name : GOSUB error
- GETBLOCK(PEEK$8413),(PEEK$8414),diskblk
- z{hler=0
- REPEAT
- (gr|~en<z{hler>)=((diskblk<(130+(z{hler*2))>)AND%00011111)
- INC z{hler
- UNTIL(z{hler==12)
- gr|~e=(gr|~en<0>) : sizenum=0
- PTREC datei,gr|~e : GOSUB error
- READ datei,(ADR fontpuf),6000 : GOSUB error
- typ="normal"
- IF(((diskblk<71>)<>$00)AND((diskblk<73>)<>$ff))THEN
- typ="LQ-Font"
- ENDIF
- IF((LEFT name,2)=="LW")THEN
- typ="LW-Font"
- ENDIF
- PATTERN0 : RECT(DBL9,0),9,(DBL310,1),160
- FRAME(DBL8,0),8,(DBL 311,0),162 : FRAME(DBL8,0),8,(DBL310,1),161
- SETPOS(DBL12,0),17 : PRINT("/P/BMuster der Schrift: /P"+name)
- FRAME(DBL12,0),21,(DBL240,0),157
- SETPOS(DBL244,0),17 : PRINT("/BTyp: /P"+typ)
- FRAME(DBL244,0),24,(DBL306,0),100
- SETPOS(DBL248,0),33 : PRINT"/BSchriftstil:/P"
- SETPOS(DBL262,0),45 : PRINT"normal"
- SETPOS(DBL262,0),55 : PRINT"/Okontur/P"
- SETPOS(DBL262,0),65:PRINT"/Ikursiv/P"
- SETPOS(DBL262,0),75:PRINT"/Rinvers/P"
- SETPOS(DBL262,0),85:PRINT"/Bfett/P"
- SETPOS(DBL26
- SETPOS(DBL262,0),65 : PRINT"/Ikursiv/P"
- SETPOS(DBL262,0),75 : PRINT"/Rinvers/P"
- SETPOS(DBL262,0),85 : PRINT"/Bfett/P"
- SETPOS(DBL262,0),95 : PRINT"/Uunterstr./P":GOSUB stil_rout
- SETPOS(DBL245,0),109 : PRINT"/BPunktgr|~e:/P"
- PATTERN 1
- RECT(DBL247,0),132,(DBL305,0),143 : RECT(DBL247,0),147,(DBL305,0),158
- PATTERN 0
- RECT(DBL245,0),130,(DBL303,0),141 : FRAME(DBL245,0),130,(DBL303,0),141
- RECT(DBL245,0),145,(DBL303,0),156 : FRAME(DBL245,0),145,(DBL303,0),156
- IF(scrflag==$80)THEN
- SETPOS 510,138 : PRINT"anderer Font"
- SETPOS 522,153 : PRINT"verlassen"
- ELSE
- SETPOS 247,138 : PRINT"anderer Font"
- SETPOS 254,153 : PRINT"verlassen"
- ENDIF
- GOSUB size_area : GOSUB font
- @schleife
- ON 0 GOTO taste : ON 1 GOTO mausklick : MAINLOOP
- ENDIF
- @error
- IF(iostat==$0b)THEN
- STRNBOX"/BPunktgr|~e zu gro~!/P","Kann nicht gelesen werden!",""
- PATTERN 2
- RECT 0,0,(DBL319,0),162 : CLOSEdatei : WINDOW : GOTO start
- ENDIF
- IF(iostat<>0)THEN
- ERROR
- END
- ENDIF
- RETURN
- PUT 13
- PUT char
- RETURN
- @stil_rout
- num=0 : PATTERN 0
- REPEAT
- GOSUB stil_rout2
- RECT(DBLx1,1),y1,(DBLx2,0),y2 : FRAME(DBLx1,1),y1,(DBLx2,0),y2
- INC num
- UNTIL(num==6)
- IF(stil==0)THEN
- num=0 : kreuz
- ELSE
- num=1 : wait1=(stil/8)
- REPEAT
- IF((wait1AND%00000001)<>0)THEN
- kreuz
- ENDIF
- wait1=(wait1/2)
- INC num
- UNTIL(num==6)
- ENDIF
- RETURN
- @kreuz
- stil_rout2 : LINE(DBLx1,1),y1,(DBLx2,0),y2 : LINE(DBLx1,1),y2,(DBLx2,0),y1
- RETURN
- @stil_rout2
- x1=249 : x2=257 : y1=(38+(num*10)) : y2=(46+(num*10))
- RETURN
- @size_area
- @size_area
- PATTERN0
- RECT(DBL251,0),115,(DBL298,0),125 : FRAME(DBL250,0),114,(DBL299,0),126
- FRAME(DBL262,0),114,(DBL287,0),126
- show_size
- LINE(DBL289,1),119,(DBL297,0),119 : LINE(DBL297,0),119,(DBL293,1),123
- LINE(DBL293,1),123,(DBL289,1),119 : LINE(DBL252,1),121,(DBL260,0),121
- LINE(DBL260,0),121,(DBL256,1),117 : LINE(DBL256,1),117,(DBL252,1),121
- RETURN
- @show_size
- PATTERN 0 : RECT(DBL 263,0),115,(DBL 286,0),125
- string=(STR gr|~e)
- x1=274 : IF(scrflag==$80)THEN
- x1=548
- ENDIF
- SETPOS (x1-((PLEN string)/2)),123 : PRINT string;
- RETURN
- @mausklick
- UNTIL(mousedata==0)
- INTERRUPT OFF
- IF(REGION(DBL 245,0),130,(DBL 303,0),141) :
- INTERRUPT ON
- INVERT(DBL245,0),130,(DBL303,0),141 : WAITselection : INVERT(DBL245,0),130,(DBL303,0),141
- PATTERN2
- RECT0,0,(DBL319,0),162 : CLOSEdatei : WINDOW : GOTO start
- ENDIF
- IF(REGION(DBL245,0),145,(DBL303,0),156) :
- INTERRUPTON
- INVERT(DBL245,0),145,(DBL303,0),156 : WAITselection : INVERT(DBL245,0),145,(DBL303,0),156
- END
- ENDIF
- IF(REGION(DBL250,0),114,(DBL262,0),126) :
- Gr INTERRUPTON
- GOTOsize_hoch
- ENDIF
- IF(REGION(DBL287,0),114,(DBL299,0),126) :
- INTERRUPTON
- GOTOsize_runter
- ENDIF
- num=0 : wait1=255
- REPEAT
- stil_rout2
- IF (REGION(DBLx1,0),y1,(DBLx2,0),y2) THEN
- wait1=num : num=5
- ENDIF
- INC num
- UNTIL (num==6)
- INTERRUPT ON
- GOSUB set_stil2
- GOTOschleife
- @set_stil2
- IF (wait1<>255) THEN
- IF (wait1==0) THEN : stil=0 : ELSE
- wait2=%00000100
- REPEAT
- wait2=(wait2*2)
- DEC wait1
- UNTIL (wait1==0)
- stil=(stilEXORwait2)
- ENDIF
- stil_rout
- font
- ENDIF
- RETURN
- @taste
- IF(keydata==$10)GOTO size_hoch
- IF(keydat
- @taste
- IF(keydata==$10) GOTO size_hoch
- IF(keydata==$11) GOTO size_runter
- IF(keydata==$e3) THEN
- PATTERN 2
- RECT 0,0,(DBL 319,0),162
- CLOSE datei
- WINDOW
- GOTO start
- ENDIF
- IF(keydata==$f1) GOTO ende
- wait1=0 : IF(keydata==$f0) GOTO set_stil2
- wait1=1 : IF(keydata==$ef) GOTO set_stil2
- wait1=2 : IF(keydata==$e9) GOTO set_stil2
- wait1=3 : IF(keydata==$f2) GOTO set_stil2
- wait1=4 : IF(keydata==$e2) GOTO set_stil2
- wait1=5 : IF(keydata==$f5) GOTO set_stil2
- GOTO schleife
- @ende2
- CLOSE datei : WINDOW
- @font
- FONT (OBJECT AT(ADRfontpuf)) : PATTERN0 : RECT(DBL14,0),23,(DBL238,0),155
- WINDOW(DBL14,0),23,(DBL238,0),155 : wait1=1 : wait2=0 : ON 2 GOTOcr : set_stil : HOME
- IF((stilAND%00001000)<>0)THEN
- INCypos
- ENDIF
- REPEAT
- char=((32*wait1)+wait2)
- PUTchar
- INCwait2
- IF (wait2==32) THEN
- wait2=0 : INC wait1 : PUT13
- ENDIF
- UNTIL ((wait2==31) AND (wait1==3))
- PRINT"/P";
- SYSFONT : WINDOW
- RETURN
- @set_stil
- style=stil
- RETURN
- @size_hoch
- INVERT(DBL250,0),114,(DBL262,0),126
- INCsizenum
- IF(((gr|~en<sizenum>)==0) OR (sizenum==11)) THEN
- sizenum=0
- ENDIF
- gr|~e=(gr|~en<sizenum>)
- show_size
- WAITselection
- INVERT(DBL250,0),114,(DBL262,0),126
- PTRECdatei,gr|~e : error
- READdatei,(ADR(fontpuf<0>)),6000 : error
- font
- GOTOschleife
- @size_runter
- INVERT(DBL287,0),114,(DBL299,0),126
- DECsizenum
- IF(sizenum==255) THEN
- sizenum=11
- REPEAT
- DECsizenum
- UNT
- UNTIL((gr|~en<sizenum>)<>0)
- ENDIF
- gr|~e=(gr|~en<sizenum>)
- show_size
- WAITselection
- INVERT(DBL287,0),114,(DBL299,0),126
- PTRECdatei,gr|~e : error
- READdatei,(ADR(fontpuf<0>)),6000 : error
- font
- GOTO schleife
- @ende
- INVERT(DBL245,0),145,(DBL303,0),156 : WAITselection : INVERT(DBL245,0),145,(DBL303,0),156
-